//
//  UIButton+Extension.swift
//  Weibo T
//
//  Created by mac on 15/12/1.
//  Copyright © 2015年 陈肖坤. All rights reserved.
//

import UIKit

//给UIButton 扩展构造方法

extension UIButton {

    //分类中不能够添加指定的构造方法
    //不能够添加存储型属性 只能够添加只读属性 和 方法
    //convenience  只能够调用 本类的构造方法  针对指定的构造函数 进行额外操作(扩展)
    convenience init(title:String,backImage: String?,color: UIColor,fontSize: CGFloat = 15,isNeedHighlighted: Bool = false,imageName: String? = nil) {
        //遍历的构找方法 可以访问self对象
        self.init()
        
        //设置title
        setTitle(title, forState: .Normal)
        if backImage != nil {
        setBackgroundImage(UIImage(named: backImage!), forState: .Normal)
            if isNeedHighlighted {
                setBackgroundImage(UIImage(named: backImage! + "_highlighted"), forState: .Normal)
            }
        }
        if imageName != nil {
            setImage(UIImage(named: imageName!), forState: .Normal)
        }
        setTitleColor(color, forState: .Normal)
        titleLabel?.font = UIFont.systemFontOfSize(fontSize)
        sizeToFit()

    }
    /**
     button便利构造方法
     
     - parameter imageName: 按钮的图片
     - parameter backImage: 按钮的背景图片
     
     - returns: 实例化的按钮
     */
    convenience init(imageName: String, backImage: String){
        //便利的构造方法 可以访问self对象
        self.init()
        setBackgroundImage(UIImage(named: backImage), forState: .Normal)
        setBackgroundImage(UIImage(named: backImage + "_highlighted"), forState: .Highlighted)
        setImage(UIImage(named: imageName), forState: .Normal)
        setImage(UIImage(named: imageName + "_highlighted"), forState: .Highlighted)
        sizeToFit()
    }

}


